---
title: Astroのアップグレード
description: Astroのアップグレード方法を学ぶ
i18nReady: true
banner:
  content: |
    Astro v5 が登場! <a href="/ja/guides/upgrade-to/v5/">サイトのアップグレード方法を学ぶ</a>
---
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
import Version from '~/components/Version.astro';


このガイドでは、Astroや関連する依存関係のバージョンを更新する方法、バージョン間で何が変更されたかを調べる方法、そしてAstroのバージョニングシステムとそれに対応するドキュメントの更新を理解する方法について説明します。
## 変更点は何ですか？
Astroの最新リリースは<Version pkgName="astro" />です。

すべての変更の詳細なリストは[Astroの変更履歴](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)で確認できます。また、各[メジャーバージョン](#メジャーレベルの変更)へのアップグレードに関する重要な説明は、[アップグレードガイド](#アップグレードガイド)に記載されています。


## 最新バージョンへのアップグレード

パッケージマネージャーを使用して、一つのコマンドでプロジェクトのAstroとすべての公式インテグレーションを最新バージョンに更新します。

<PackageManagerTabs>
  <Fragment slot="npm">
  ```shell
  # Astroと公式インテグレーションを一緒にアップグレード
  npx @astrojs/upgrade
  ```
  </Fragment>
  <Fragment slot="pnpm">
  ```shell
  # Astroと公式インテグレーションを一緒にアップグレード
  pnpm dlx @astrojs/upgrade
  ```
  </Fragment>
  <Fragment slot="yarn">
  ```shell
  # Astroと公式インテグレーションを一緒にアップグレード
  yarn dlx @astrojs/upgrade
  ```
  </Fragment>
</PackageManagerTabs>


### 手動でのアップグレード

Astroとインテグレーションを手動で現在のバージョンに更新するには、パッケージマネージャーに適したコマンドを使用してください。

<PackageManagerTabs>
  <Fragment slot="npm">
  ```shell
  # 例：ReactとTailwindのインテグレーションと共にAstroをアップグレード
  npm install astro@latest @astrojs/react@latest @astrojs/tailwind@latest
  ```
  </Fragment>
  <Fragment slot="pnpm">
  ```shell
  # 例：ReactとTailwindのインテグレーションと共にAstroをアップグレード
  pnpm add astro@latest @astrojs/react@latest @astrojs/tailwind@latest
  ```
  </Fragment>
  <Fragment slot="yarn">
  ```shell
  # 例：ReactとTailwindのインテグレーションと共にAstroをアップグレード
  yarn add astro@latest @astrojs/react@latest @astrojs/tailwind@latest
  ```
  </Fragment>
</PackageManagerTabs>

### 特定のバージョン番号をインストールする

特定の[Astroのバージョン](https://www.npmjs.com/package/astro?activeTab=versions)やインテグレーションをインストールするには、パッケージマネージャーに適したコマンドを使用してください。

<PackageManagerTabs>
  <Fragment slot="npm">
  ```shell
  npm install astro@4.5.3 @astrojs/react@3.0.10
  ```
  </Fragment>
  <Fragment slot="pnpm">
  ```shell
  pnpm add astro@4.5.3 @astrojs/react@3.0.10
  ```
  </Fragment>
  <Fragment slot="yarn">
  ```shell
  yarn add astro@4.5.3 @astrojs/react@3.0.10
  ```
  </Fragment>
</PackageManagerTabs>


## ドキュメントの更新

このドキュメントは、[マイナーリリース](#マイナーレベルの変更)および[メジャーバージョンリリース](#メジャーレベルの変更)ごとに更新されます。新機能が追加されたり、既存の使用方法が変更されたりすると、ドキュメントは**現在のAstroの挙動**を反映するように更新されます。自分のプロジェクトを更新していない場合、最新のドキュメントと一部の挙動が一致しないことに気づくかもしれません。

新機能は、それらが追加された特定のバージョン番号と共にドキュメントに追加されます。これは、Astroの最新リリースに更新していない場合、ドキュメント化された一部の機能が利用できないことを意味します。新機能を使用する前に、常に`Added in:`のバージョン番号を確認し、プロジェクトが更新されていることを確認してください！

Astroの最新メジャーバージョンにアップグレードしていない場合、Astroのドキュメントとプロジェクトの挙動の間に大きな違いが生じる可能性があります。できるだけ早く現在のメジャーバージョンのAstroにアップグレードすることを強くお勧めします。以前のバージョンのコードとドキュメントはサポートされません。

### アップグレードガイド

各[メジャーバージョンリリース](#メジャーレベルの変更)の後には、重要な変更点とプロジェクトコードをアップグレードするための指示が記載された**アップグレードガイド**を確認できます。

Astroの主要なドキュメントページは常に**最新リリースバージョンのAstroに対応**しています。これらは以前のバージョンでの動作方法を説明したり比較したりはせず、挙動の更新や変更の説明もおこないません。

以下のアップグレードガイドでは、新旧のバージョンを比較して変更点を説明しています。アップグレードガイドには、破壊的変更や非推奨化、機能の削除や置換、および使用方法の更新ガイダンスなど、コードの変更を必要とする可能性のあるすべての内容が含まれています。Astroへの各変更には「どうすればいいですか？」というセクションが付属しており、プロジェクトコードを上手く更新するための助けとなるはずです。

- [v4へのアップグレード](/ja/guides/upgrade-to/v4/)
- [v3へのアップグレード](/ja/guides/upgrade-to/v3/)
- [v2へのアップグレード](/ja/guides/upgrade-to/v2/)
- [v1へのアップグレード](/ja/guides/upgrade-to/v1/)

### 古いドキュメント（メンテナンスされていません）

古いバージョンのAstroのドキュメントはメンテナンスされていませんが、静的スナップショットとして利用可能です。プロジェクトをアップグレードできないものの、ガイドやリファレンスを参照したい場合は、これらのバージョンのドキュメントを使用してください。

- [メンテナンスされていないv3.6.3のスナップショット](https://docs-git-v3-docs-unmaintained-astrodotbuild.vercel.app/)
- [メンテナンスされていないv2.10.15のスナップショット](https://deploy-preview-4405--astro-docs-2.netlify.app/en/getting-started/)

## セマンティックバージョニング

Astroはできるだけ[セマンティックバージョニング](https://semver.org/)に従うよう努力しています。これは、開発者がリリースにバージョン番号を割り当てる方法を決定するために使用する一連のルールです。セマンティックバージョニングは、あるバージョンの変更が何をもたらすかをユーザーに知らせるための、予測可能なパターンに従います。

セマンティックバージョニングでは、ソフトウェアのバージョン番号に`X.Y.Z`のパターンを強制します。これらの値は、**メジャー (X)**、**マイナー (Y)**、および**パッチ (Z)** アップデートを表します。

### パッチレベルの変更

パッチレベルの変更は最も影響の少ない変更です。これらはAstroの使用方法を変えず、更新時に自分のコードを変更する必要はありません。

Astroが「パッチ」バージョンを発行すると、最後の数字が増加します。（例：`astro@4.3.14` -> `astro@4.3.15`）

パッチは、以下のような理由でリリースされます。

- Astroの機能を変えない内部的な変更
  - リファクタリング
  - パフォーマンスの向上
  - テストカバレッジの増加や変更
  - ドキュメントの記述から期待される挙動との整合性の確保
- ログとエラーメッセージの改善。
- 失敗したリリースの再リリース。

パッチ変更には**バグ修正の多く**も含まれます。意図しないまたは望ましくない既存の挙動をユーザーが利用していた場合でも、パッチに含まれます。


### マイナーレベルの変更

マイナーリリースは、主に新機能や改善点を導入するもので、コードの変更を必要としません。ただし、既存の機能が**非推奨**（将来のバージョンで削除される予定であるが、機能は継続）となり、将来削除される予定であることをユーザーに伝えるために使われることもあります。

マイナーリリースには、以下のような変更が含まれます。

- 既存の機能やオプションの**非推奨化**。今後のメジャーリリースで削除される旨が警告されます。
- 新機能の導入。
- インテグレーションフックにおける新オプションの導入。
- 特に新しいアダプターの作成に使用されるような、`astro/app`における新機能の導入。

マイナーリリースには、同時に小さなパッチレベルの変更も含まれる場合があります。

### メジャーレベルの変更

メジャーリリースには、少なくとも一部の既存コードに影響を与える破壊的変更が含まれます。これらの破壊的変更は常にAstroの[「vXへのアップグレード」ガイド](#アップグレードガイド)に文書化されています。

メジャーリリースにより、Astroは内部ロジックだけでなく、意図された挙動や使用法にも大きな変更を加えられます。ドキュメントは最新バージョンのみを反映するよう更新され、**静的でメンテナンスされていない古いドキュメントのスナップショット**は、まだアップグレードされていない古いプロジェクトのための歴史的記録として残されます。

メジャーリリースには、以下のような変更が含まれます。

- 以前に非推奨とされた機能の削除。
- 既存機能の変更。
- インテグレーションフック内の既存オプションの変更。
- 特に新しいアダプターの作成に使用されるような、`astro/app`内の既存オプションおよび機能の変更。

メジャーリリースには、通常、マイナーリリースやパッチリリースで個別にリリースされる非破壊的変更や改善も含まれる場合があります。

### 例外

- **実験的機能**。実験的機能の開発中、セマンティックバージョニングに従わずにAstroのバージョンをリリースできれば、Astroの開発者は柔軟に事に当たることができ、根本的な方向転換さえも可能になります。そのため、これらの機能の挙動はマイナーレベルやパッチレベルの変更で壊れる可能性があります。

  これらの機能は通常、進行中のパブリックな[RFCステージ3](https://github.com/withastro/roadmap#stage-3-rfc--development)が付属しています。ベータユーザーがアップデートをフォローし、議論に早期のフィードバックを残して、これらの機能の開発を支援することが期待されています。

  これらの機能が実験期間を終えると、通常のセマンティックバージョニングの規約に従います。

- **ドキュメントの改善**（例：リファレンスとエラーメッセージ）。これらは`docs`リポジトリのためにソースコードからビルドされます。これにより、ドキュメントのもととなるコンテンツがメインの`astro`リポジトリに格納されている場合、Astroはドキュメントの修正と改善を迅速に更新できます。

### Node.jsのサポートとアップグレードポリシー

#### サポート

- AstroはNode.jsの[**最新の _Maintenance_ LTS**バージョン](https://nodejs.org/en/about/previous-releases#release-schedule)をサポートしています。
- AstroはNode.jsの[**現在の _Active_ LTS**バージョン](https://nodejs.org/en/about/previous-releases#release-schedule)をサポートしています。
- AstroはNode.jsの奇数バージョンをサポートしています。
#### アップグレード

次のルールは、AstroがNode.jsのバージョンのサポートを終了、削除、または追加するタイミングを定義します。

- Node.jsの奇数バージョンは、次の偶数バージョンのNode.jsが公開されたときに非推奨化または削除されることがあります。この変更は、Astroコアチームによって決定された合理的なサポート期間の後、Astroの**マイナー**リリースで発生することがあります。
- Node.jsの最小 **_Maintenance_ LTS**バージョンのアップグレード（`v18.14.*`から`v18.20.*`へなど、同じメジャーレンジ内）は、Astroの**マイナー**リリースで行われることがあります。
  - セキュリティのための例外：Node.jsのセキュリティ上の欠陥が公開・修正され、それがAstroに**影響を与える**場合、コアチームは**パッチ**リリースで最小バージョンの **_Maintenance_ LTS**を上げることができます。
- Node.jsのマイナーレベルやメジャーレベルのアップグレード（**非**Maintenance LTS）は、Astroのメジャーバージョンでのみ行われます。
  - セキュリティのための例外：Node.jsのセキュリティ上の欠陥が公開・修正され、それがAstroに**影響を与える**場合、コアチームは**マイナー**リリースで最小バージョンを上げることができます。

### メンテナンスの延長

コアチームは、直前のメジャーバージョンに対して**セキュリティ上の修正のみ**のメンテナンスを延長して提供します。これは、現在のメジャーが`v4.*`である場合、コアチームがセキュリティ上の修正をバックポートし、新しい`v3.*`リリースを公開することを意味します。
